package com.steven.design.XingWei_Pattern.ZhongJie;


/**
 * 中介者模式（Mediator Pattern）：定义一个中介对象来封装一系列对象之间的交互，
 * 使原有对象之间的耦合松散，且可以独立地改变它们之间的交互。
 * 缺点：由于它将所有的职责都移到了中介者类中，也就是说中介类需要处理所有类之间的协调工作
 * ，这可能会使中介者演变成一个超级类。所以使用中介者模式时需要权衡利弊。
 */
public class Client {

    public static void main(String[] args) {
        Group group = new Group();
        Player player1 = new Player(group);
        Player player2 = new Player(group);
        Player player3 = new Player(group);
        Player player4 = new Player(group);
        // player1 赢了 5 元
        player1.change(5);
        // player2 赢了 20 元
        player2.change(20);
        // player3 输了 12 元
        player3.change(-12);
        // player4 输了 3 元
        player4.change(-3);

        // 输出：四人剩余的钱：105,120,88,97
        System.out.println("四人剩余的钱：" + player1.money + "," + player2.money + "," + player3.money + "," + player4.money);
    }
}
